1 /*
2 * Copyright (c) 2001 by
3 * Siegfried GOESCHL <mailto:siegfried.goeschl@itserv.at>
4 * and Dima STADNIK <mailto:5d5@mail.ru>
5 *
6 * This program is free software.
7 *
8 * You may redistribute it and/or modify it under the terms of the GNU
9 * General Public License as published by the Free Software Foundation.
10 * Version 2 of the license should be included with this distribution in
11 * the file LICENSE, as well as License.html. If the license is not
12 * included with this distribution, you may find a copy at the FSF web
13 * site at 'www.gnu.org' or 'www.fsf.org', or you may write to the
14 * Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139 USA.
15 *
16 * THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND,
17 * NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR
18 * OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY
19 * CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR
20 * REDISTRIBUTION OF THIS SOFTWARE.
21 */
22
23 package junit.extensions.util;
24
25
26 import java.util.StringTokenizer;
27
28
29 /***
30 * Utility class that provides convinient access to application parameters.
31 *
32 * @author Siegfried GOESCHL
33 */
34 public class Parameters {
35
36 /*** Parameters. */
37 protected static String[] parameters;
38
39 /***
40 * Initializes parameters using system property if they were not initialized before.
41 *
42 * @param propertyKey Key of system property.
43 */
44 public static synchronized String[] getParameters(String propertyKey) {
45 if (parameters == null) {
46 String property = System.getProperty(propertyKey);
47
48 if (property == null) {
49 parameters = new String[0];
50 } else {
51 StringTokenizer tokenizer = new StringTokenizer(property, " \t%");
52
53 parameters = new String[tokenizer.countTokens()];
54 int i = 0;
55
56 while (tokenizer.hasMoreTokens()) {
57 parameters[i++] = tokenizer.nextToken();
58 }
59 }
60 }
61 return parameters;
62 }
63
64 /***
65 * Explicitly initializes parameters if they were not initialized before.
66 *
67 * @param parameters New value.
68 */
69 public static synchronized void setParameters(String[] parameters) {
70 if (Parameters.parameters == null) {
71 Parameters.parameters = parameters;
72 }
73 }
74
75 /***
76 * Combines parameters in single string.
77 *
78 * @return Parameters separated by spaces.
79 */
80 public static synchronized String toLine() {
81 if (parameters == null) {
82 return "";
83 }
84 StringBuffer buffer = new StringBuffer(128);
85
86 for (int i = 0; i < parameters.length; i++) {
87 buffer.append(parameters[i]);
88 buffer.append(' ');
89 }
90 return buffer.toString();
91 }
92 }
93
This page was automatically generated by Maven